package io.gitee.chearnee.fw.audit.annotation;

import io.gitee.chearnee.fw.audit.constant.enums.EventLevel;
import io.gitee.chearnee.fw.audit.constant.enums.EventType;
import io.gitee.chearnee.fw.audit.constant.enums.OperationType;

import java.lang.annotation.*;

/**
 * @author cn
 * @version 1.0
 * @description
 * @date 2021/6/18 14:05
 */

@Documented
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface AuditLogAction {

  /**
   * 主模块
   */
  String mainModuleName() default "";

  /**
   * 子模块
   */
  String subModuleName() default "";

  EventLevel eventLevel() default EventLevel.LOW;

  EventType eventType() default EventType.BUSINESS_EVENT;

  OperationType operationType() default OperationType.NULL;

  String operationString() default "";
}
